home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / plnk081.zip / pilot-link.0.8.1 / include / pi-syspkt.h < prev    next >
C/C++ Source or Header  |  1997-06-13  |  4KB  |  123 lines

  1. #ifndef _PILOT_SYSPKT_H
  2. #define _PILOT_SYSPKT_H
  3.  
  4. #include "pi-args.h"
  5.  
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9.  
  10. struct Pilot_registers {
  11.   unsigned long A[7];
  12.   unsigned long D[8];
  13.   unsigned long USP, SSP;
  14.   unsigned long PC, SR;
  15. };
  16.  
  17. struct Pilot_breakpoint {
  18.     unsigned long address;
  19.     int enabled;
  20. };
  21.  
  22. struct Pilot_state {
  23.   struct Pilot_registers regs;
  24.   int reset;
  25.   int exception;
  26.   int instructions[30];
  27.   struct Pilot_breakpoint breakpoint[6];
  28.   unsigned long func_start, func_end;
  29.   char func_name[32];
  30.   int trap_rev;
  31. };
  32.  
  33. struct Pilot_watch {
  34.   unsigned long address;
  35.   unsigned long length;
  36.   unsigned long checksum;
  37. };
  38.  
  39. struct RPC_param {
  40.   int byRef;
  41.   int size;
  42.   int invert;
  43.   int arg;
  44.   void * data;
  45. };
  46.  
  47. struct RPC_params {
  48.   int trap;
  49.   int reply;
  50.   int args;
  51.   struct RPC_param param[20];
  52. };
  53.  
  54. extern int sys_RPCerror;
  55.  
  56. extern int sys_UnpackState PI_ARGS((void * buffer, struct Pilot_state * s));
  57.  
  58. extern int sys_UnpackRegisters PI_ARGS((void * buffer, struct Pilot_registers * r));
  59.  
  60. extern int syspkt_tx  PI_ARGS((struct pi_socket *ps, void *msg, int length));
  61.                                     
  62. extern int syspkt_rx PI_ARGS((struct pi_socket *ps, void *buf, int len));
  63.                                     
  64.  
  65. extern int sys_Continue  PI_ARGS((int sd, struct Pilot_registers * r, struct Pilot_watch * w));
  66. extern int sys_Step  PI_ARGS((int sd));
  67.  
  68. extern int sys_QueryState  PI_ARGS((int sd));
  69. extern int sys_ReadMemory  PI_ARGS((int sd, unsigned long addr, unsigned long len, void * buf));
  70. extern int sys_WriteMemory  PI_ARGS((int sd, unsigned long addr, unsigned long len, void * buf));
  71.  
  72. extern int sys_ToggleDbgBreaks  PI_ARGS((int sd));
  73.  
  74. extern int sys_SetTrapBreaks  PI_ARGS((int sd, int * traps));
  75. extern int sys_GetTrapBreaks  PI_ARGS((int sd, int * traps));
  76.  
  77. extern int sys_SetBreakpoints  PI_ARGS((int sd, struct Pilot_breakpoint * b));
  78. extern int sys_Find  PI_ARGS((int sd, unsigned long startaddr, unsigned long stopaddr, 
  79.                     int len, int caseinsensitive, void * data, unsigned long * found));
  80.              
  81.  
  82. extern int sys_RemoteEvent  PI_ARGS((int sd, int penDown, int x, int y, int keypressed, 
  83.                        int keymod, int keyasc, int keycode));
  84.  
  85. extern int sys_RPC  PI_ARGS((int sd, int socket, int trap, long * D0, long * A0, int params, struct RPC_param * param, int rep));
  86.  
  87. #define RPC_Byte(data) (-2),((unsigned int)htons((data)<<8))
  88. #define RPC_Short(data) (-2),((unsigned int)htons((data)))
  89. #define RPC_Long(data) (-4),((unsigned int)htonl((data)))
  90. #define RPC_Ptr(data,len) (len),((void*)(data)),0
  91. #define RPC_LongPtr(ptr) (4),((void*)(ptr)),1
  92. #define RPC_ShortPtr(ptr) (2),((void*)(ptr)),1
  93. #define RPC_BytePtr(ptr) (2),((void*)(ptr)),2
  94. #define RPC_LongRef(ref) (4),((void*)(&(ref))),1
  95. #define RPC_ShortRef(ref) (2),((void*)(&(ref))),1
  96. #define RPC_ByteRef(ref) (2),((void*)(&(ref))),2
  97. #define RPC_NullPtr RPC_Long(0)
  98. #define RPC_End 0
  99.  
  100. #define RPC_IntReply  2
  101. #define RPC_PtrReply  1
  102. #define RPC_NoReply 0
  103.  
  104. extern int RPC PI_ARGS((int sd, int socket, int trap, int ret, ...));
  105.  
  106. extern void InvertRPC PI_ARGS((struct RPC_params * p));
  107. extern void UninvertRPC PI_ARGS((struct RPC_params * p));
  108.  
  109. extern int PackRPC PI_ARGS((struct RPC_params * p, int trap, int reply, ...));
  110.  
  111. extern unsigned long DoRPC PI_ARGS((int sd, int socket, struct RPC_params * p, int * error));
  112.  
  113. extern int dlp_ProcessRPC PI_ARGS((int sd, int trap, int ret, ...));
  114.  
  115. extern int RPC_Int_Void PI_ARGS((int sd, int trap));
  116. extern int RPC_Ptr_Void PI_ARGS((int sd, int trap));
  117.  
  118. #ifdef __cplusplus
  119. }
  120. #endif
  121.  
  122. #endif /*_PILOT_SYSPKT_H_*/
  123.